@remarkablejames/editor 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/lib/{ActionMenuButton-B0EHT9CC.js → ActionMenuButton-Bmn3RME4.js} +10 -9
  2. package/lib/ActionMenuButton-C5P0Kzrb.cjs +1 -0
  3. package/lib/Attachment.cjs +2 -2
  4. package/lib/Attachment.js +33 -31
  5. package/lib/Blockquote.cjs +2 -2
  6. package/lib/Blockquote.js +12 -13
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +10 -11
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +8 -9
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +45 -41
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +14 -13
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +5 -6
  17. package/lib/CodeBlock.cjs +1 -44
  18. package/lib/CodeBlock.js +183 -3858
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +8 -9
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +19 -18
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +8 -9
  25. package/lib/{Drawer-BCWVN-4l.js → Drawer-DvGh9aXG.js} +52 -46
  26. package/lib/Drawer-gz9U5ArC.cjs +2 -0
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +3 -3
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +15 -14
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +20 -16
  33. package/lib/ExportPdf.cjs +3 -3
  34. package/lib/ExportPdf.js +13 -14
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +6 -6
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +6 -7
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +14 -15
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +26 -26
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +23 -22
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +11 -11
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +9 -10
  49. package/lib/Icon-CKM0tYbW.js +15 -0
  50. package/lib/Icon-CQyFgXeo.cjs +1 -0
  51. package/lib/{Iframe-BdgiWGml.js → Iframe-CnnvV6cK.js} +21 -19
  52. package/lib/Iframe-Ds6gG2YO.cjs +1 -0
  53. package/lib/Iframe.cjs +1 -1
  54. package/lib/Iframe.js +2 -2
  55. package/lib/Image.cjs +1 -1
  56. package/lib/Image.js +5 -4
  57. package/lib/ImageCropper-BKhXlnXN.cjs +1 -0
  58. package/lib/ImageCropper-DUzu_9-6.js +896 -0
  59. package/lib/ImageGif.cjs +1 -1
  60. package/lib/ImageGif.js +94 -91
  61. package/lib/ImportWord.cjs +1 -1
  62. package/lib/ImportWord.js +26 -25
  63. package/lib/{Indent-BpMcZKok.js → Indent-Bsj8gKvT.js} +30 -31
  64. package/lib/Indent-D_7HOYYd.cjs +1 -0
  65. package/lib/Indent.cjs +1 -1
  66. package/lib/Indent.js +2 -2
  67. package/lib/Italic.cjs +1 -1
  68. package/lib/Italic.js +11 -12
  69. package/lib/{Katex-B8_uprkO.js → Katex-CilGTz7u.js} +22 -19
  70. package/lib/Katex-lL3bHXJd.cjs +4 -0
  71. package/lib/Katex.cjs +1 -1
  72. package/lib/Katex.js +2 -2
  73. package/lib/LineHeight.cjs +1 -1
  74. package/lib/LineHeight.js +20 -19
  75. package/lib/Link.cjs +1 -1
  76. package/lib/Link.js +2 -2
  77. package/lib/{LinkEditBlock-BX0fXXpF.js → LinkEditBlock-BD_WvA3r.js} +24 -19
  78. package/lib/LinkEditBlock-D3HSHmsU.cjs +5 -0
  79. package/lib/Mention.js +3 -3
  80. package/lib/Mermaid-BfeLPzoS.cjs +2 -0
  81. package/lib/{Mermaid-D8bbIgAl.js → Mermaid-BrjU75Bs.js} +48 -45
  82. package/lib/Mermaid.cjs +1 -1
  83. package/lib/Mermaid.js +2 -2
  84. package/lib/MoreMark.cjs +1 -1
  85. package/lib/MoreMark.js +28 -26
  86. package/lib/OrderedList.cjs +1 -1
  87. package/lib/OrderedList.js +10 -11
  88. package/lib/SearchAndReplace.cjs +1 -1
  89. package/lib/SearchAndReplace.js +42 -37
  90. package/lib/SlashCommand.cjs +1 -1
  91. package/lib/SlashCommand.js +5 -5
  92. package/lib/{SlashCommandNodeView-BcmtKbEE.js → SlashCommandNodeView-COx5qZ2y.js} +41 -39
  93. package/lib/SlashCommandNodeView-DD-nlhM-.cjs +1 -0
  94. package/lib/Strike.cjs +1 -1
  95. package/lib/Strike.js +11 -12
  96. package/lib/{Table-DbxuP5xh.js → Table-BlM8yMhr.js} +46 -46
  97. package/lib/Table-C21AlUrh.cjs +5 -0
  98. package/lib/Table.cjs +1 -1
  99. package/lib/Table.js +1 -1
  100. package/lib/TaskList.cjs +1 -1
  101. package/lib/TaskList.js +11 -12
  102. package/lib/TextAlign.cjs +1 -1
  103. package/lib/TextAlign.js +27 -26
  104. package/lib/TextDirection.cjs +1 -1
  105. package/lib/TextDirection.js +19 -18
  106. package/lib/TextUnderline.cjs +1 -1
  107. package/lib/TextUnderline.js +8 -9
  108. package/lib/{Twitter-9I6BLNmg.js → Twitter-BP8sYXX7.js} +22 -18
  109. package/lib/Twitter-D46MnvPr.cjs +1 -0
  110. package/lib/Twitter.cjs +1 -1
  111. package/lib/Twitter.js +2 -2
  112. package/lib/Video-Bpd8W8l6.js +231 -0
  113. package/lib/Video-BwrHx6B1.cjs +1 -0
  114. package/lib/Video.cjs +1 -1
  115. package/lib/Video.js +5 -4
  116. package/lib/bubble.cjs +3 -3
  117. package/lib/bubble.js +171 -162
  118. package/lib/button-BmTP96NR.cjs +1 -0
  119. package/lib/button-CDIxPURh.js +35 -0
  120. package/lib/checkbox-7sfSdzy9.js +29 -0
  121. package/lib/checkbox-DyVlLWHv.cjs +1 -0
  122. package/lib/{clsx-CDyrfCnw.js → clsx-m_C5j3RU.js} +24 -24
  123. package/lib/dialog-B-jOQ5i3.cjs +1 -0
  124. package/lib/dialog-QWWUWOGP.js +95 -0
  125. package/lib/{dropdown-menu-Bs69ZBbO.js → dropdown-menu-C1hdPLCZ.js} +1 -1
  126. package/lib/{dropdown-menu-DjWlG2-J.cjs → dropdown-menu-CkHN04Mx.cjs} +1 -1
  127. package/lib/events.constant-Bh2uzJud.js +71 -0
  128. package/lib/events.constant-ELn21EzG.cjs +1 -0
  129. package/lib/extensions/CodeBlock/CodeBlock.d.ts +1 -1
  130. package/lib/file-BLas99n7.js +43 -0
  131. package/lib/file-i7e4nQY2.cjs +1 -0
  132. package/lib/{index-C-tDsIKJ.js → index-B3Ijnbxs.js} +1 -1
  133. package/lib/{index-C1WCZhyA.js → index-C1KQsOcg.js} +1 -1
  134. package/lib/{index-CsSfYR30.js → index-C8FjP66D.js} +1 -1
  135. package/lib/index-CAiZY1nx.js +2741 -0
  136. package/lib/index-DWSAk_9a.cjs +1 -0
  137. package/lib/{index-DjDf4BK8.js → index-s3l5RdyW.js} +1 -1
  138. package/lib/index.cjs +4 -4
  139. package/lib/index.js +392 -147
  140. package/lib/input-qvpuOf-3.js +21 -0
  141. package/lib/input-s0JD5kf2.cjs +1 -0
  142. package/lib/isNumber-BTYSVlKo.cjs +1 -0
  143. package/lib/isNumber-WaBzl_0s.js +15 -0
  144. package/lib/label-CFax-gzo.cjs +1 -0
  145. package/lib/label-DC37f2RQ.js +11 -0
  146. package/lib/{popover-D-hUKDYu.cjs → popover-B05Fd8lC.cjs} +1 -1
  147. package/lib/{popover-CPr9bHYn.js → popover-CsSXh7w6.js} +1 -1
  148. package/lib/{renderNodeView-BJSrgyGj.js → renderNodeView-C_hPIdEs.js} +2 -2
  149. package/lib/{select-C2KF4RNg.cjs → select-7ubC1NF0.cjs} +1 -1
  150. package/lib/{select-CuE_HaQJ.js → select-B3-5wTqn.js} +1 -1
  151. package/lib/{separator-CHzYNMVt.js → separator-CYCA8tSn.js} +13 -12
  152. package/lib/separator-ncbdw4oq.cjs +1 -0
  153. package/lib/style.css +1 -1
  154. package/lib/tabs-BeHxylKH.js +46 -0
  155. package/lib/tabs-DBqNpGAq.cjs +1 -0
  156. package/lib/{textarea-gEoNp9CA.js → textarea-1FhpmBkP.js} +1 -1
  157. package/lib/{textarea-DZj6EY-N.cjs → textarea-Bjhcpp76.cjs} +1 -1
  158. package/lib/throttle-CRNq0z-O.js +249 -0
  159. package/lib/throttle-gTTvqDTW.cjs +1 -0
  160. package/lib/toggle-DoJTBdvy.js +89 -0
  161. package/lib/toggle-oFwBZC4x.cjs +1 -0
  162. package/lib/{updatePosition-e90ZrFWW.js → updatePosition-DvfTZHcH.js} +2 -2
  163. package/lib/useButtonProps-BE10eHkG.js +165 -0
  164. package/lib/useButtonProps-CFu0GHzW.cjs +1 -0
  165. package/package.json +1 -1
  166. package/lib/ActionMenuButton-J1el_e6Z.cjs +0 -1
  167. package/lib/Drawer-BTouEroZ.cjs +0 -2
  168. package/lib/Iframe-BfBLILDA.cjs +0 -1
  169. package/lib/Indent-Dvqz_WEn.cjs +0 -1
  170. package/lib/Katex-BQyeCeQ0.cjs +0 -4
  171. package/lib/LinkEditBlock-CIshn_8F.cjs +0 -5
  172. package/lib/Mermaid-0GiGVxn0.cjs +0 -2
  173. package/lib/SlashCommandNodeView-rDJ7OjRd.cjs +0 -1
  174. package/lib/Table-BEhNBeuA.cjs +0 -5
  175. package/lib/Twitter-BuEBgpi9.cjs +0 -1
  176. package/lib/index-D9oM__YW.cjs +0 -1
  177. package/lib/index-lj3VWExo.js +0 -4883
  178. package/lib/separator-_gvUNba_.cjs +0 -1
@@ -1,15 +1,16 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
2
  import { Slot as n } from "@radix-ui/react-slot";
3
3
  import r from "react";
4
- import { i as d, T as m, a as f, B as s, b as u, g } from "./index-lj3VWExo.js";
5
- import "./theme.js";
6
- const C = r.forwardRef(
4
+ import { T as m, a as d, b as f, g as s } from "./useButtonProps-BE10eHkG.js";
5
+ import { B as u } from "./button-CDIxPURh.js";
6
+ import { i as o } from "./index-CAiZY1nx.js";
7
+ const b = r.forwardRef(
7
8
  ({ asChild: x = !1, tooltip: i, ...t }, l) => {
8
9
  var a;
9
- const h = d[t.icon];
10
+ const h = o[t.icon];
10
11
  return /* @__PURE__ */ c(m, { children: [
11
- /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(
12
- x ? n : s,
12
+ /* @__PURE__ */ e(d, { asChild: !0, children: /* @__PURE__ */ e(
13
+ x ? n : u,
13
14
  {
14
15
  className: "richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0",
15
16
  "data-state": t != null && t.dataState ? "on" : "off",
@@ -23,13 +24,13 @@ const C = r.forwardRef(
23
24
  ] })
24
25
  }
25
26
  ) }),
26
- i && /* @__PURE__ */ e(u, { children: /* @__PURE__ */ c("div", { className: "richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center", children: [
27
+ i && /* @__PURE__ */ e(f, { children: /* @__PURE__ */ c("div", { className: "richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center", children: [
27
28
  i && /* @__PURE__ */ e("div", { children: i }),
28
- /* @__PURE__ */ e("div", { className: "richtext-flex", children: !!((a = t == null ? void 0 : t.shortcutKeys) != null && a.length) && /* @__PURE__ */ e("span", { children: g(t == null ? void 0 : t.shortcutKeys) }) })
29
+ /* @__PURE__ */ e("div", { className: "richtext-flex", children: !!((a = t == null ? void 0 : t.shortcutKeys) != null && a.length) && /* @__PURE__ */ e("span", { children: s(t == null ? void 0 : t.shortcutKeys) }) })
29
30
  ] }) })
30
31
  ] });
31
32
  }
32
33
  );
33
34
  export {
34
- C as A
35
+ b as A
35
36
  };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),a=require("@radix-ui/react-slot"),s=require("react"),i=require("./useButtonProps-CFu0GHzW.cjs"),d=require("./button-BmTP96NR.cjs"),u=require("./index-DWSAk_9a.cjs"),m=s.forwardRef(({asChild:h=!1,tooltip:c,...t},l)=>{var x;const n=u.icons[t.icon],r=h?a.Slot:d.Button;return e.jsxs(i.Tooltip,{children:[e.jsx(i.TooltipTrigger,{asChild:!0,children:e.jsx(r,{className:"richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0","data-state":t!=null&&t.dataState?"on":"off",disabled:t==null?void 0:t.disabled,ref:l,variant:"ghost",...t,children:e.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&e.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),n&&e.jsx(n,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),c&&e.jsx(i.TooltipContent,{children:e.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[c&&e.jsx("div",{children:c}),e.jsx("div",{className:"richtext-flex",children:!!((x=t==null?void 0:t.shortcutKeys)!=null&&x.length)&&e.jsx("span",{children:i.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})});exports.ActionMenuButton=m;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),s=require("./index-D9oM__YW.cjs"),e=require("react/jsx-runtime"),v=require("react");require("./theme.cjs");const x=require("lucide-react"),D=require("./index-bVGIXhRg.cjs"),u=require("./dom-dataset-BqoJhJXt.cjs"),S={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./clsx-CXbNJWDD.cjs"),M=require("./toggle-oFwBZC4x.cjs"),e=require("react/jsx-runtime"),m=require("lucide-react"),C=require("./index-DWSAk_9a.cjs"),f=require("./file-i7e4nQY2.cjs"),v=require("react"),q=require("./index-bVGIXhRg.cjs"),A=require("./useButtonProps-CFu0GHzW.cjs"),d=require("./dom-dataset-BqoJhJXt.cjs"),_={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
2
2
  <path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>
3
3
  <path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>
4
4
  </svg>`,word:`<svg
@@ -16,4 +16,4 @@
16
16
  fill="currentColor"
17
17
  d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"
18
18
  />
19
- </svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function B(t){const n=S[t],l=new DOMParser().parseFromString(n,"image/svg+xml").documentElement,o=["svg",{...Array.from(l.attributes).reduce((r,a)=>(r[a.name]=a.value,r),{})}];return Array.from(l.childNodes).forEach(r=>{if(r.nodeType===1){const a=[r.tagName.toLowerCase(),Array.from(r.attributes).reduce((h,p)=>(h[p.name]=p.value,h),{})];r.textContent&&a.push(r.textContent),o.push(a)}}),o}const _={audio:e.jsx(x.LucideAudioLines,{}),video:e.jsx(x.LucideVideo,{}),file:e.jsx(x.LucideFile,{}),image:e.jsx(x.LucideImage,{}),pdf:e.jsx(s.ExportPdf,{}),word:e.jsx(s.ExportWord,{}),excel:e.jsx(x.LucideSheet,{}),ppt:e.jsx(x.LucideTableProperties,{})};function b(t,n=!1){const i=s.normalizeFileType(t),d=_[i]||e.jsx(e.Fragment,{});return n?B(i):d}const R="_wrap_15oj2_2",k={wrap:R};function q({editor:t,node:n,updateAttributes:i,deleteNode:d,extension:l}){var M;const o=v.useRef(null),r=s.useEditableEditor(),{hasTrigger:a,fileName:h,fileSize:p,fileExt:C,fileType:H,url:g,error:A}=n.attrs,[N,w]=v.useState(!1),{t:y}=D.useLocale(),z=(M=l==null?void 0:l.options)==null?void 0:M.upload,f=v.useCallback(()=>{!r||g||o.current.click()},[g,r]),E=v.useCallback(async T=>{const m=T.target.files&&T.target.files[0];if(!m)return;const V={fileName:s.extractFilename(m.name),fileSize:m.size,fileType:m.type,fileExt:s.extractFileExtension(m.name)};w(!0);try{const j=await z(m);i({...V,url:j}),w(!1)}catch(j){i({error:`File upload fail: ${j&&j.message}`}),w(!1),o.current.value=""}},[w,i]);v.useEffect(()=>{!g&&!a&&(f(),i({hasTrigger:!0}))},[g,a,f,i]);const F=v.useCallback(()=>d(),[t]);return r&&!g?e.jsx(c.NodeViewWrapper,{children:e.jsxs("div",{className:c.clsx(k.wrap,"render-wrapper"),children:[e.jsx("p",{onClick:f,style:{cursor:"pointer"},children:N?e.jsx("span",{children:y("editor.attachment.uploading")}):e.jsx("span",{children:y("editor.attachment.please_upload")})}),e.jsx("input",{hidden:!0,onChange:E,ref:o,type:"file"})]})}):g?e.jsx(c.NodeViewWrapper,{children:e.jsxs("div",{className:c.clsx(k.wrap,"render-wrapper"),onClick:f,children:[e.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[e.jsx("span",{children:b(H)}),e.jsxs("span",{children:[h,".",C]}),e.jsxs("span",{children:["(",s.normalizeFileSize(p),")"]})]}),r&&e.jsx(s.ActionButton,{action:F,icon:"Trash2",tooltip:y("editor.delete")})]})}):A!=="null"?e.jsx(c.NodeViewWrapper,{children:e.jsx("div",{className:c.clsx(k.wrap,"render-wrapper"),onClick:f,children:e.jsx("p",{children:A})})}):e.jsx(e.Fragment,{})}function P(){const t=s.useButtonProps(L.name),{icon:n=void 0,tooltip:i=void 0,shortcutKeys:d=void 0,tooltipOptions:l={},action:o=void 0,isActive:r=void 0}=(t==null?void 0:t.componentProps)??{},{editorDisabled:a,update:h}=s.useToggleActive(r),p=()=>{a||o&&(o(),h())};return t?e.jsx(s.ActionButton,{action:p,disabled:a,icon:n,shortcutKeys:d,tooltip:i,tooltipOptions:l}):e.jsx(e.Fragment,{})}const L=c.Node3.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"attachment"},button:({editor:n,t:i})=>({component:s.ActionButton,componentProps:{action:()=>n.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:i("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:t}){const{url:n="",fileName:i="",fileSize:d="",fileType:l="",fileExt:o=""}=t||{};return["div",c.mergeAttributes(this.options.HTMLAttributes||{},t||{}),n?["a",{href:n||"#"},["span",{class:"attachment__icon"},b(l,!0)],["span",{class:"attachment__text"},`${i}.${o} (${s.normalizeFileSize(d)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:u.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:u.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:u.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:u.getDatasetAttribute("fileext")},url:{default:null,parseHTML:u.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:t=>u.getDatasetAttribute("hastrigger")(t)==="true"},error:{default:null,parseHTML:u.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(t={})=>({chain:n})=>n().insertContent({type:this.name,attrs:t}).run()}},addNodeView(){return c.ReactNodeViewRenderer(q)}});exports.Attachment=L;exports.RichTextAttachment=P;
19
+ </svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function R(t){const n=_[t],a=new DOMParser().parseFromString(n,"image/svg+xml").documentElement,s=["svg",{...Array.from(a.attributes).reduce((r,o)=>(r[o.name]=o.value,r),{})}];return Array.from(a.childNodes).forEach(r=>{if(r.nodeType===1){const o=[r.tagName.toLowerCase(),Array.from(r.attributes).reduce((u,h)=>(u[h.name]=h.value,u),{})];r.textContent&&o.push(r.textContent),s.push(o)}}),s}const P={audio:e.jsx(m.LucideAudioLines,{}),video:e.jsx(m.LucideVideo,{}),file:e.jsx(m.LucideFile,{}),image:e.jsx(m.LucideImage,{}),pdf:e.jsx(C.ExportPdf,{}),word:e.jsx(C.ExportWord,{}),excel:e.jsx(m.LucideSheet,{}),ppt:e.jsx(m.LucideTableProperties,{})};function H(t,n=!1){const i=f.normalizeFileType(t),c=P[i]||e.jsx(e.Fragment,{});return n?R(i):c}const $="_wrap_15oj2_2",k={wrap:$};function I({editor:t,node:n,updateAttributes:i,deleteNode:c,extension:a}){var b;const s=v.useRef(null),r=A.useEditableEditor(),{hasTrigger:o,fileName:u,fileSize:h,fileExt:z,fileType:E,url:p,error:T}=n.attrs,[F,w]=v.useState(!1),{t:y}=q.useLocale(),V=(b=a==null?void 0:a.options)==null?void 0:b.upload,x=v.useCallback(()=>{!r||p||s.current.click()},[p,r]),B=v.useCallback(async L=>{const g=L.target.files&&L.target.files[0];if(!g)return;const S={fileName:f.extractFilename(g.name),fileSize:g.size,fileType:g.type,fileExt:f.extractFileExtension(g.name)};w(!0);try{const j=await V(g);i({...S,url:j}),w(!1)}catch(j){i({error:`File upload fail: ${j&&j.message}`}),w(!1),s.current.value=""}},[w,i]);v.useEffect(()=>{!p&&!o&&(x(),i({hasTrigger:!0}))},[p,o,x,i]);const D=v.useCallback(()=>c(),[t]);return r&&!p?e.jsx(l.NodeViewWrapper,{children:e.jsxs("div",{className:l.clsx(k.wrap,"render-wrapper"),children:[e.jsx("p",{onClick:x,style:{cursor:"pointer"},children:F?e.jsx("span",{children:y("editor.attachment.uploading")}):e.jsx("span",{children:y("editor.attachment.please_upload")})}),e.jsx("input",{hidden:!0,onChange:B,ref:s,type:"file"})]})}):p?e.jsx(l.NodeViewWrapper,{children:e.jsxs("div",{className:l.clsx(k.wrap,"render-wrapper"),onClick:x,children:[e.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[e.jsx("span",{children:H(E)}),e.jsxs("span",{children:[u,".",z]}),e.jsxs("span",{children:["(",f.normalizeFileSize(h),")"]})]}),r&&e.jsx(M.ActionButton,{action:D,icon:"Trash2",tooltip:y("editor.delete")})]})}):T!=="null"?e.jsx(l.NodeViewWrapper,{children:e.jsx("div",{className:l.clsx(k.wrap,"render-wrapper"),onClick:x,children:e.jsx("p",{children:T})})}):e.jsx(e.Fragment,{})}function O(){const t=A.useButtonProps(N.name),{icon:n=void 0,tooltip:i=void 0,shortcutKeys:c=void 0,tooltipOptions:a={},action:s=void 0,isActive:r=void 0}=(t==null?void 0:t.componentProps)??{},{editorDisabled:o,update:u}=A.useToggleActive(r),h=()=>{o||s&&(s(),u())};return t?e.jsx(M.ActionButton,{action:h,disabled:o,icon:n,shortcutKeys:c,tooltip:i,tooltipOptions:a}):e.jsx(e.Fragment,{})}const N=l.Node3.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"attachment"},button:({editor:n,t:i})=>({component:M.ActionButton,componentProps:{action:()=>n.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:i("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:t}){const{url:n="",fileName:i="",fileSize:c="",fileType:a="",fileExt:s=""}=t||{};return["div",l.mergeAttributes(this.options.HTMLAttributes||{},t||{}),n?["a",{href:n||"#"},["span",{class:"attachment__icon"},H(a,!0)],["span",{class:"attachment__text"},`${i}.${s} (${f.normalizeFileSize(c)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:d.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:d.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:d.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:d.getDatasetAttribute("fileext")},url:{default:null,parseHTML:d.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:t=>d.getDatasetAttribute("hastrigger")(t)==="true"},error:{default:null,parseHTML:d.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(t={})=>({chain:n})=>n().insertContent({type:this.name,attrs:t}).run()}},addNodeView(){return l.ReactNodeViewRenderer(I)}});exports.Attachment=N;exports.RichTextAttachment=O;
package/lib/Attachment.js CHANGED
@@ -1,10 +1,12 @@
1
- import { h as x, j as y, N as _, k as P, m as D } from "./clsx-CDyrfCnw.js";
2
- import { K as R, N as $, O as I, J as O, P as Z, Q as K, R as N, A as T, u as W, d as J } from "./index-lj3VWExo.js";
1
+ import { h as x, j as y, N as _, k as D, m as P } from "./clsx-m_C5j3RU.js";
2
+ import { A as T } from "./toggle-DoJTBdvy.js";
3
3
  import { jsx as e, Fragment as L, jsxs as f } from "react/jsx-runtime";
4
- import { useRef as Q, useState as q, useCallback as k, useEffect as G } from "react";
5
- import "./theme.js";
6
- import { LucideTableProperties as U, LucideSheet as X, LucideImage as Y, LucideFile as ee, LucideVideo as te, LucideAudioLines as re } from "lucide-react";
7
- import { u as ie } from "./index-4Q5IhypJ.js";
4
+ import { LucideTableProperties as R, LucideSheet as $, LucideImage as I, LucideFile as O, LucideVideo as Z, LucideAudioLines as W } from "lucide-react";
5
+ import { E as K, b as q } from "./index-CAiZY1nx.js";
6
+ import { n as G, e as J, a as Q, b } from "./file-BLas99n7.js";
7
+ import { useRef as U, useState as X, useCallback as k, useEffect as Y } from "react";
8
+ import { u as ee } from "./index-4Q5IhypJ.js";
9
+ import { l as te, u as re, c as ie } from "./useButtonProps-BE10eHkG.js";
8
10
  import { g as c } from "./dom-dataset-CIEeltF6.js";
9
11
  const oe = {
10
12
  audio: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',
@@ -52,17 +54,17 @@ function ne(t) {
52
54
  }), n;
53
55
  }
54
56
  const ae = {
55
- audio: /* @__PURE__ */ e(re, {}),
56
- video: /* @__PURE__ */ e(te, {}),
57
- file: /* @__PURE__ */ e(ee, {}),
58
- image: /* @__PURE__ */ e(Y, {}),
59
- pdf: /* @__PURE__ */ e(I, {}),
60
- word: /* @__PURE__ */ e($, {}),
61
- excel: /* @__PURE__ */ e(X, {}),
62
- ppt: /* @__PURE__ */ e(U, {})
57
+ audio: /* @__PURE__ */ e(W, {}),
58
+ video: /* @__PURE__ */ e(Z, {}),
59
+ file: /* @__PURE__ */ e(O, {}),
60
+ image: /* @__PURE__ */ e(I, {}),
61
+ pdf: /* @__PURE__ */ e(q, {}),
62
+ word: /* @__PURE__ */ e(K, {}),
63
+ excel: /* @__PURE__ */ e($, {}),
64
+ ppt: /* @__PURE__ */ e(R, {})
63
65
  };
64
- function b(t, o = !1) {
65
- const i = R(t), l = ae[i] || /* @__PURE__ */ e(L, {});
66
+ function N(t, o = !1) {
67
+ const i = G(t), l = ae[i] || /* @__PURE__ */ e(L, {});
66
68
  return o ? ne(i) : l;
67
69
  }
68
70
  const se = "_wrap_15oj2_2", M = {
@@ -76,17 +78,17 @@ function le({
76
78
  extension: s
77
79
  }) {
78
80
  var A;
79
- const n = Q(null), r = O(), { hasTrigger: a, fileName: d, fileSize: h, fileExt: z, fileType: E, url: u, error: H } = o.attrs, [F, v] = q(!1), { t: w } = ie(), V = (A = s == null ? void 0 : s.options) == null ? void 0 : A.upload, m = k(() => {
81
+ const n = U(null), r = te(), { hasTrigger: a, fileName: d, fileSize: h, fileExt: E, fileType: z, url: u, error: H } = o.attrs, [F, v] = X(!1), { t: w } = ee(), V = (A = s == null ? void 0 : s.options) == null ? void 0 : A.upload, m = k(() => {
80
82
  !r || u || n.current.click();
81
83
  }, [u, r]), j = k(
82
84
  async (C) => {
83
85
  const p = C.target.files && C.target.files[0];
84
86
  if (!p) return;
85
87
  const S = {
86
- fileName: K(p.name),
88
+ fileName: Q(p.name),
87
89
  fileSize: p.size,
88
90
  fileType: p.type,
89
- fileExt: Z(p.name)
91
+ fileExt: J(p.name)
90
92
  };
91
93
  v(!0);
92
94
  try {
@@ -100,7 +102,7 @@ function le({
100
102
  },
101
103
  [v, i]
102
104
  );
103
- G(() => {
105
+ Y(() => {
104
106
  !u && !a && (m(), i({ hasTrigger: !0 }));
105
107
  }, [u, a, m, i]);
106
108
  const B = k(() => l(), [t]);
@@ -114,15 +116,15 @@ function le({
114
116
  onClick: m,
115
117
  children: [
116
118
  /* @__PURE__ */ f("div", { className: "richtext-flex richtext-items-center richtext-gap-[4px]", children: [
117
- /* @__PURE__ */ e("span", { children: b(E) }),
119
+ /* @__PURE__ */ e("span", { children: N(z) }),
118
120
  /* @__PURE__ */ f("span", { children: [
119
121
  d,
120
122
  ".",
121
- z
123
+ E
122
124
  ] }),
123
125
  /* @__PURE__ */ f("span", { children: [
124
126
  "(",
125
- N(h),
127
+ b(h),
126
128
  ")"
127
129
  ] })
128
130
  ] }),
@@ -145,15 +147,15 @@ function le({
145
147
  }
146
148
  ) }) : /* @__PURE__ */ e(L, {});
147
149
  }
148
- function we() {
149
- const t = W(ce.name), {
150
+ function ye() {
151
+ const t = re(ce.name), {
150
152
  icon: o = void 0,
151
153
  tooltip: i = void 0,
152
154
  shortcutKeys: l = void 0,
153
155
  tooltipOptions: s = {},
154
156
  action: n = void 0,
155
157
  isActive: r = void 0
156
- } = (t == null ? void 0 : t.componentProps) ?? {}, { editorDisabled: a, update: d } = J(r), h = () => {
158
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { editorDisabled: a, update: d } = ie(r), h = () => {
157
159
  a || n && (n(), d());
158
160
  };
159
161
  return t ? /* @__PURE__ */ e(
@@ -209,7 +211,7 @@ const ce = /* @__PURE__ */ _.create({
209
211
  } = t || {};
210
212
  return [
211
213
  "div",
212
- D(
214
+ P(
213
215
  // @ts-expect-error
214
216
  this.options.HTMLAttributes || {},
215
217
  t || {}
@@ -217,11 +219,11 @@ const ce = /* @__PURE__ */ _.create({
217
219
  o ? [
218
220
  "a",
219
221
  { href: o || "#" },
220
- ["span", { class: "attachment__icon" }, b(s, !0)],
222
+ ["span", { class: "attachment__icon" }, N(s, !0)],
221
223
  [
222
224
  "span",
223
225
  { class: "attachment__text" },
224
- `${i}.${n} (${N(l)})`
226
+ `${i}.${n} (${b(l)})`
225
227
  ]
226
228
  ] : ["div", { class: "attachment__placeholder" }]
227
229
  ];
@@ -264,10 +266,10 @@ const ce = /* @__PURE__ */ _.create({
264
266
  };
265
267
  },
266
268
  addNodeView() {
267
- return P(le);
269
+ return D(le);
268
270
  }
269
271
  });
270
272
  export {
271
273
  ce as Attachment,
272
- we as RichTextAttachment
274
+ ye as RichTextAttachment
273
275
  };
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),p=require("./jsx-runtime-C_NLcKys.cjs"),l=require("react/jsx-runtime"),a=require("./index-D9oM__YW.cjs");require("react");require("./theme.cjs");var g=/^\s*>\s$/,m=c.Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return p.h("blockquote",{...c.mergeAttributes(this.options.HTMLAttributes,t),children:p.h("slot",{})})},parseMarkdown:(t,e)=>e.createNode("blockquote",void 0,e.parseChildren(t.tokens||[])),renderMarkdown:(t,e)=>{if(!t.content)return"";const o=">",n=[];return t.content.forEach(i=>{const u=e.renderChildren([i]).split(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),d=require("./jsx-runtime-C_NLcKys.cjs"),l=require("react/jsx-runtime"),q=require("./toggle-oFwBZC4x.cjs"),p=require("./useButtonProps-CFu0GHzW.cjs");var m=/^\s*>\s$/,b=c.Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return d.h("blockquote",{...c.mergeAttributes(this.options.HTMLAttributes,t),children:d.h("slot",{})})},parseMarkdown:(t,e)=>e.createNode("blockquote",void 0,e.parseChildren(t.tokens||[])),renderMarkdown:(t,e)=>{if(!t.content)return"";const o=">",n=[];return t.content.forEach(i=>{const u=e.renderChildren([i]).split(`
2
2
  `).map(r=>r.trim()===""?o:`${o} ${r}`);n.push(u.join(`
3
3
  `))}),n.join(`
4
4
  ${o}
5
- `)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[c.wrappingInputRule({find:g,type:this.type})]}});function b(){const t=a.useButtonProps(h.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:n=void 0,tooltipOptions:i={},action:s=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:u,disabled:r,update:q}=a.useToggleActive(d),k=()=>{r||s&&(s(),q())};return t?l.jsx(a.ActionButton,{action:k,dataState:u,disabled:r,icon:e,shortcutKeys:n,tooltip:o,tooltipOptions:i}):l.jsx(l.Fragment,{})}const h=m.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:e,t:o,extension:n})=>({componentProps:{action:()=>e.commands.toggleBlockquote(),isActive:()=>e.isActive("blockquote"),disabled:!e.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:n.options.shortcutKeys??["shift","mod","B"],tooltip:o("editor.blockquote.tooltip")}})}}});exports.Blockquote=h;exports.RichTextBlockquote=b;
5
+ `)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[c.wrappingInputRule({find:m,type:this.type})]}});function f(){const t=p.useButtonProps(h.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:n=void 0,tooltipOptions:i={},action:s=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:u,disabled:r,update:g}=p.useToggleActive(a),k=()=>{r||s&&(s(),g())};return t?l.jsx(q.ActionButton,{action:k,dataState:u,disabled:r,icon:e,shortcutKeys:n,tooltip:o,tooltipOptions:i}):l.jsx(l.Fragment,{})}const h=b.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:e,t:o,extension:n})=>({componentProps:{action:()=>e.commands.toggleBlockquote(),isActive:()=>e.isActive("blockquote"),disabled:!e.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:n.options.shortcutKeys??["shift","mod","B"],tooltip:o("editor.blockquote.tooltip")}})}}});exports.Blockquote=h;exports.RichTextBlockquote=f;
package/lib/Blockquote.js CHANGED
@@ -1,9 +1,8 @@
1
- import { N as m, w as h, m as k } from "./clsx-CDyrfCnw.js";
1
+ import { N as m, w as h, m as k } from "./clsx-m_C5j3RU.js";
2
2
  import { h as a } from "./jsx-runtime-CT7Pcg-t.js";
3
- import { jsx as d, Fragment as g } from "react/jsx-runtime";
4
- import { u as f, d as b, A as q } from "./index-lj3VWExo.js";
5
- import "react";
6
- import "./theme.js";
3
+ import { jsx as l, Fragment as f } from "react/jsx-runtime";
4
+ import { A as g } from "./toggle-DoJTBdvy.js";
5
+ import { u as b, c as q } from "./useButtonProps-BE10eHkG.js";
7
6
  var v = /^\s*>\s$/, B = m.create({
8
7
  name: "blockquote",
9
8
  addOptions() {
@@ -55,19 +54,19 @@ ${e}
55
54
  ];
56
55
  }
57
56
  });
58
- function H() {
59
- const t = f(A.name), {
57
+ function C() {
58
+ const t = b(A.name), {
60
59
  icon: o = void 0,
61
60
  tooltip: e = void 0,
62
61
  shortcutKeys: n = void 0,
63
62
  tooltipOptions: i = {},
64
63
  action: s = void 0,
65
64
  isActive: u = void 0
66
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: r, update: l } = b(u), p = () => {
67
- r || s && (s(), l());
65
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: r, update: d } = q(u), p = () => {
66
+ r || s && (s(), d());
68
67
  };
69
- return t ? /* @__PURE__ */ d(
70
- q,
68
+ return t ? /* @__PURE__ */ l(
69
+ g,
71
70
  {
72
71
  action: p,
73
72
  dataState: c,
@@ -77,7 +76,7 @@ function H() {
77
76
  tooltip: e,
78
77
  tooltipOptions: i
79
78
  }
80
- ) : /* @__PURE__ */ d(g, {});
79
+ ) : /* @__PURE__ */ l(f, {});
81
80
  }
82
81
  const A = /* @__PURE__ */ B.extend({
83
82
  //@ts-expect-error
@@ -103,5 +102,5 @@ const A = /* @__PURE__ */ B.extend({
103
102
  });
104
103
  export {
105
104
  A as Blockquote,
106
- H as RichTextBlockquote
105
+ C as RichTextBlockquote
107
106
  };
package/lib/Bold.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./clsx-CXbNJWDD.cjs"),u=require("./jsx-runtime-C_NLcKys.cjs"),r=require("./index-D9oM__YW.cjs"),i=require("react/jsx-runtime");require("react");require("./theme.cjs");var y=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,_=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,B=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,k=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,v=o.Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return u.h("strong",{...o.mergeAttributes(this.options.HTMLAttributes,t),children:u.h("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[o.markInputRule({find:y,type:this.type}),o.markInputRule({find:B,type:this.type})]},addPasteRules(){return[o.markPasteRule({find:_,type:this.type}),o.markPasteRule({find:k,type:this.type})]}});function M(){const t=r.useButtonProps(l.name),{icon:e=void 0,tooltip:n=void 0,shortcutKeys:s=void 0,tooltipOptions:c={},action:a=void 0,isActive:p=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:g,disabled:d,update:m}=r.useToggleActive(p),h=()=>{d||a&&(a(),m())};return t?i.jsx(r.ActionButton,{action:h,dataState:g,disabled:d,icon:e,shortcutKeys:s,tooltip:n,tooltipOptions:c}):i.jsx(i.Fragment,{})}const l=v.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:n,extension:s})=>({component:r.ActionButton,componentProps:{action:()=>e.commands.toggleBold(),isActive:()=>e.isActive("bold"),icon:"Bold",shortcutKeys:s.options.shortcutKeys??["mod","B"],tooltip:n("editor.bold.tooltip")}})}}});exports.Bold=l;exports.RichTextBold=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./clsx-CXbNJWDD.cjs"),a=require("./jsx-runtime-C_NLcKys.cjs"),l=require("./toggle-oFwBZC4x.cjs"),s=require("react/jsx-runtime"),u=require("./useButtonProps-CFu0GHzW.cjs");var B=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,_=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,k=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,v=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,M=o.Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return a.h("strong",{...o.mergeAttributes(this.options.HTMLAttributes,t),children:a.h("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[o.markInputRule({find:B,type:this.type}),o.markInputRule({find:k,type:this.type})]},addPasteRules(){return[o.markPasteRule({find:_,type:this.type}),o.markPasteRule({find:v,type:this.type})]}});function b(){const t=u.useButtonProps(c.name),{icon:e=void 0,tooltip:r=void 0,shortcutKeys:n=void 0,tooltipOptions:p={},action:i=void 0,isActive:g=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:m,disabled:d,update:h}=u.useToggleActive(g),y=()=>{d||i&&(i(),h())};return t?s.jsx(l.ActionButton,{action:y,dataState:m,disabled:d,icon:e,shortcutKeys:n,tooltip:r,tooltipOptions:p}):s.jsx(s.Fragment,{})}const c=M.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:r,extension:n})=>({component:l.ActionButton,componentProps:{action:()=>e.commands.toggleBold(),isActive:()=>e.isActive("bold"),icon:"Bold",shortcutKeys:n.options.shortcutKeys??["mod","B"],tooltip:r("editor.bold.tooltip")}})}}});exports.Bold=c;exports.RichTextBold=b;
package/lib/Bold.js CHANGED
@@ -1,9 +1,8 @@
1
- import { M as _, e as a, f as i, m as y } from "./clsx-CDyrfCnw.js";
1
+ import { M as _, e as a, f as i, m as f } from "./clsx-m_C5j3RU.js";
2
2
  import { h as d } from "./jsx-runtime-CT7Pcg-t.js";
3
- import { u as f, d as M, A as l } from "./index-lj3VWExo.js";
4
- import { jsx as u, Fragment as v } from "react/jsx-runtime";
5
- import "react";
6
- import "./theme.js";
3
+ import { A as l } from "./toggle-DoJTBdvy.js";
4
+ import { jsx as u, Fragment as y } from "react/jsx-runtime";
5
+ import { u as M, c as v } from "./useButtonProps-BE10eHkG.js";
7
6
  var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, b = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, A = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, R = _.create({
8
7
  name: "bold",
9
8
  addOptions() {
@@ -31,7 +30,7 @@ var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*
31
30
  ];
32
31
  },
33
32
  renderHTML({ HTMLAttributes: t }) {
34
- return /* @__PURE__ */ d("strong", { ...y(this.options.HTMLAttributes, t), children: /* @__PURE__ */ d("slot", {}) });
33
+ return /* @__PURE__ */ d("strong", { ...f(this.options.HTMLAttributes, t), children: /* @__PURE__ */ d("slot", {}) });
35
34
  },
36
35
  markdownTokenName: "strong",
37
36
  parseMarkdown: (t, e) => e.applyMark("bold", e.parseInline(t.tokens || [])),
@@ -74,15 +73,15 @@ var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*
74
73
  ];
75
74
  }
76
75
  });
77
- function K() {
78
- const t = f(x.name), {
76
+ function H() {
77
+ const t = M(x.name), {
79
78
  icon: e = void 0,
80
79
  tooltip: o = void 0,
81
80
  shortcutKeys: r = void 0,
82
81
  tooltipOptions: p = {},
83
82
  action: n = void 0,
84
83
  isActive: m = void 0
85
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: s, update: g } = M(m), h = () => {
84
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: s, update: g } = v(m), h = () => {
86
85
  s || n && (n(), g());
87
86
  };
88
87
  return t ? /* @__PURE__ */ u(
@@ -96,7 +95,7 @@ function K() {
96
95
  tooltip: o,
97
96
  tooltipOptions: p
98
97
  }
99
- ) : /* @__PURE__ */ u(v, {});
98
+ ) : /* @__PURE__ */ u(y, {});
100
99
  }
101
100
  const x = /* @__PURE__ */ R.extend({
102
101
  //@ts-expect-error
@@ -119,5 +118,5 @@ const x = /* @__PURE__ */ R.extend({
119
118
  });
120
119
  export {
121
120
  x as Bold,
122
- K as RichTextBold
121
+ H as RichTextBold
123
122
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),n=require("./index-D9oM__YW.cjs");require("react");require("./theme.cjs");function g(){const t=n.useButtonProps(l.name),{icon:e=void 0,tooltip:i=void 0,shortcutKeys:o=void 0,tooltipOptions:r={},action:c=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:a,disabled:u,update:p}=n.useToggleActive(d),m=()=>{u||c&&(c(),p())};return t?s.jsx(n.ActionButton,{action:m,dataState:a,disabled:u,icon:e,shortcutKeys:o,tooltip:i,tooltipOptions:r}):s.jsx(s.Fragment,{})}const l=v.BulletList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:o})=>({componentProps:{action:()=>e.commands.toggleBulletList(),isActive:()=>e.isActive("bulletList"),disabled:!1,shortcutKeys:o.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:i("editor.bulletlist.tooltip")}})}}});exports.BulletList=l;exports.RichTextBulletList=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),m=require("./toggle-oFwBZC4x.cjs"),u=require("./useButtonProps-CFu0GHzW.cjs");function B(){const t=u.useButtonProps(l.name),{icon:o=void 0,tooltip:e=void 0,shortcutKeys:i=void 0,tooltipOptions:r={},action:n=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:a,disabled:c,update:p}=u.useToggleActive(d),v=()=>{c||n&&(n(),p())};return t?s.jsx(m.ActionButton,{action:v,dataState:a,disabled:c,icon:o,shortcutKeys:i,tooltip:e,tooltipOptions:r}):s.jsx(s.Fragment,{})}const l=g.BulletList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:o,t:e,extension:i})=>({componentProps:{action:()=>o.commands.toggleBulletList(),isActive:()=>o.isActive("bulletList"),disabled:!1,shortcutKeys:i.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:e("editor.bulletlist.tooltip")}})}}});exports.BulletList=l;exports.RichTextBulletList=B;
package/lib/BulletList.js CHANGED
@@ -1,21 +1,20 @@
1
- import { B as d } from "./index-DjDf4BK8.js";
1
+ import { B as d } from "./index-s3l5RdyW.js";
2
2
  import { jsx as c, Fragment as m } from "react/jsx-runtime";
3
- import { u as f, d as v, A } from "./index-lj3VWExo.js";
4
- import "react";
5
- import "./theme.js";
6
- function y() {
7
- const t = f(B.name), {
3
+ import { A as f } from "./toggle-DoJTBdvy.js";
4
+ import { u as v, c as A } from "./useButtonProps-BE10eHkG.js";
5
+ function x() {
6
+ const t = v(B.name), {
8
7
  icon: o = void 0,
9
8
  tooltip: i = void 0,
10
9
  shortcutKeys: s = void 0,
11
10
  tooltipOptions: r = {},
12
11
  action: e = void 0,
13
12
  isActive: l = void 0
14
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: u, disabled: n, update: a } = v(l), p = () => {
13
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: u, disabled: n, update: a } = A(l), p = () => {
15
14
  n || e && (e(), a());
16
15
  };
17
16
  return t ? /* @__PURE__ */ c(
18
- A,
17
+ f,
19
18
  {
20
19
  action: p,
21
20
  dataState: u,
@@ -49,5 +48,5 @@ const B = /* @__PURE__ */ d.extend({
49
48
  });
50
49
  export {
51
50
  B as BulletList,
52
- y as RichTextBulletList
51
+ x as RichTextBulletList
53
52
  };
package/lib/Callout.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./clsx-CXbNJWDD.cjs"),o=require("./index-D9oM__YW.cjs"),t=require("react/jsx-runtime"),x=require("react");require("./theme.cjs");const c=require("lucide-react"),s=require("./select-C2KF4RNg.cjs"),k=require("./index-bVGIXhRg.cjs"),j=[{value:"note",label:"Note",icon:c.Info,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:c.Lightbulb,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:c.AlertCircle,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:c.TriangleAlert,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:c.OctagonAlert,color:"#f85149",background:"#f851491f"}];function q({node:e}){const{type:l="note",title:r="",body:u=""}=e.attrs,d=(j.find(h=>h.value===l)||j[0]).icon;return t.jsx(a.NodeViewWrapper,{children:t.jsxs("div",{className:a.clsx("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":l==="note","richtext-bg-[#2386361f] richtext-border-[#238636]":l==="tip","richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":l==="important","richtext-bg-[#d299221f] richtext-border-[#d29922]":l==="warning","richtext-bg-[#f851491f] richtext-border-[#f85149]":l==="caution"}),children:[t.jsxs("div",{className:a.clsx("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":l==="note","richtext-text-[#238636]":l==="tip","richtext-text-[#ab7df8]":l==="important","richtext-text-[#d29922]":l==="warning","richtext-text-[#f85149]":l==="caution"}),children:[t.jsx(d,{className:"richtext-size-5"}),t.jsx("span",{className:"richtext-font-semibold",children:r})]}),u&&t.jsx("p",{className:"richtext-pl-[28px]",children:u})]})})}const w=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function M(){const{t:e}=k.useLocale(),l=o.useEditorInstance(),r=o.useButtonProps(C.name),[u,n]=x.useState(!1),[d,h]=x.useState("note"),[b,g]=x.useState(""),[f,v]=x.useState(""),{icon:y=void 0,tooltip:T=void 0,shortcutKeys:A=void 0,tooltipOptions:L={},isActive:N=void 0}=(r==null?void 0:r.componentProps)??{},{dataState:S,disabled:m}=o.useToggleActive(N),I=()=>{l&&(l.chain().focus().setCallout({type:d,title:b,body:f}).run(),n(!1),h("note"),g(""),v(""))},O=()=>{m||n(!0)};return r?t.jsxs(o.Dialog,{onOpenChange:n,open:u,children:[t.jsx(o.DialogTrigger,{asChild:!0,children:t.jsx(o.ActionButton,{action:O,dataState:S,disabled:m,icon:y,shortcutKeys:A,tooltip:T,tooltipOptions:L})}),t.jsxs(o.DialogContent,{children:[t.jsx(o.DialogTitle,{children:e("editor.callout.dialog.title")}),t.jsxs("div",{className:"richtext-space-y-4 richtext-py-4",children:[t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.type")}),t.jsxs(s.Select,{onValueChange:h,value:d,children:[t.jsx(s.SelectTrigger,{children:t.jsx(s.SelectValue,{placeholder:e("editor.callout.dialog.type.placeholder")})}),t.jsx(s.SelectContent,{children:w.map(i=>t.jsx(s.SelectItem,{value:i.value,children:e(`editor.callout.type.${i.value}`)},i.value))})]})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.title.label")}),t.jsx(o.Input,{onChange:i=>g(i.target.value),placeholder:e("editor.callout.dialog.title.placeholder"),value:b})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.body.label")}),t.jsx(o.Input,{onChange:i=>v(i.target.value),placeholder:e("editor.callout.dialog.body.placeholder"),value:f})]})]}),t.jsxs(o.DialogFooter,{children:[t.jsx(o.Button,{onClick:()=>n(!1),variant:"outline",children:e("editor.callout.dialog.button.cancel")}),t.jsx(o.Button,{onClick:I,children:e("editor.callout.dialog.button.apply")})]})]})]}):t.jsx(t.Fragment,{})}function p(e){return l=>l.getAttribute(e)}const C=a.Node3.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"callout"},button:({editor:l,t:r})=>({component:o.ActionButton,componentProps:{action:()=>!0,isActive:()=>l.isActive("callout"),disabled:!1,icon:"Callout",tooltip:r("editor.callout.tooltip")}})}},parseHTML(){return[{tag:"div.callout"}]},renderHTML({HTMLAttributes:e}){return["div",a.mergeAttributes(this.options&&this.options.HTMLAttributes||{},e)]},addAttributes(){return{type:{default:"",parseHTML:p("type")},title:{default:"",parseHTML:p("title")},body:{default:"",parseHTML:p("body")}}},addCommands(){return{setCallout:e=>({chain:l})=>l().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return a.ReactNodeViewRenderer(q)}});exports.Callout=C;exports.RichTextCallout=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./clsx-CXbNJWDD.cjs"),L=require("./toggle-oFwBZC4x.cjs"),t=require("react/jsx-runtime"),n=require("lucide-react"),x=require("react"),c=require("./dialog-B-jOQ5i3.cjs"),s=require("./select-7ubC1NF0.cjs"),p=require("./useButtonProps-CFu0GHzW.cjs"),H=require("./index-bVGIXhRg.cjs"),b=require("./label-CFax-gzo.cjs"),y=require("./input-s0JD5kf2.cjs"),T=require("./button-BmTP96NR.cjs"),A=[{value:"note",label:"Note",icon:n.Info,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:n.Lightbulb,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:n.AlertCircle,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:n.TriangleAlert,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:n.OctagonAlert,color:"#f85149",background:"#f851491f"}];function R({node:e}){const{type:l="note",title:o="",body:u=""}=e.attrs,d=(A.find(h=>h.value===l)||A[0]).icon;return t.jsx(i.NodeViewWrapper,{children:t.jsxs("div",{className:i.clsx("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":l==="note","richtext-bg-[#2386361f] richtext-border-[#238636]":l==="tip","richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":l==="important","richtext-bg-[#d299221f] richtext-border-[#d29922]":l==="warning","richtext-bg-[#f851491f] richtext-border-[#f85149]":l==="caution"}),children:[t.jsxs("div",{className:i.clsx("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":l==="note","richtext-text-[#238636]":l==="tip","richtext-text-[#ab7df8]":l==="important","richtext-text-[#d29922]":l==="warning","richtext-text-[#f85149]":l==="caution"}),children:[t.jsx(d,{className:"richtext-size-5"}),t.jsx("span",{className:"richtext-font-semibold",children:o})]}),u&&t.jsx("p",{className:"richtext-pl-[28px]",children:u})]})})}const D=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function P(){const{t:e}=H.useLocale(),l=p.useEditorInstance(),o=p.useButtonProps(N.name),[u,a]=x.useState(!1),[d,h]=x.useState("note"),[f,v]=x.useState(""),[m,j]=x.useState(""),{icon:S=void 0,tooltip:q=void 0,shortcutKeys:I=void 0,tooltipOptions:O={},isActive:k=void 0}=(o==null?void 0:o.componentProps)??{},{dataState:w,disabled:C}=p.useToggleActive(k),B=()=>{l&&(l.chain().focus().setCallout({type:d,title:f,body:m}).run(),a(!1),h("note"),v(""),j(""))},M=()=>{C||a(!0)};return o?t.jsxs(c.Dialog,{onOpenChange:a,open:u,children:[t.jsx(c.DialogTrigger,{asChild:!0,children:t.jsx(L.ActionButton,{action:M,dataState:w,disabled:C,icon:S,shortcutKeys:I,tooltip:q,tooltipOptions:O})}),t.jsxs(c.DialogContent,{children:[t.jsx(c.DialogTitle,{children:e("editor.callout.dialog.title")}),t.jsxs("div",{className:"richtext-space-y-4 richtext-py-4",children:[t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.type")}),t.jsxs(s.Select,{onValueChange:h,value:d,children:[t.jsx(s.SelectTrigger,{children:t.jsx(s.SelectValue,{placeholder:e("editor.callout.dialog.type.placeholder")})}),t.jsx(s.SelectContent,{children:D.map(r=>t.jsx(s.SelectItem,{value:r.value,children:e(`editor.callout.type.${r.value}`)},r.value))})]})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.title.label")}),t.jsx(y.Input,{onChange:r=>v(r.target.value),placeholder:e("editor.callout.dialog.title.placeholder"),value:f})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.body.label")}),t.jsx(y.Input,{onChange:r=>j(r.target.value),placeholder:e("editor.callout.dialog.body.placeholder"),value:m})]})]}),t.jsxs(c.DialogFooter,{children:[t.jsx(T.Button,{onClick:()=>a(!1),variant:"outline",children:e("editor.callout.dialog.button.cancel")}),t.jsx(T.Button,{onClick:B,children:e("editor.callout.dialog.button.apply")})]})]})]}):t.jsx(t.Fragment,{})}function g(e){return l=>l.getAttribute(e)}const N=i.Node3.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"callout"},button:({editor:l,t:o})=>({component:L.ActionButton,componentProps:{action:()=>!0,isActive:()=>l.isActive("callout"),disabled:!1,icon:"Callout",tooltip:o("editor.callout.tooltip")}})}},parseHTML(){return[{tag:"div.callout"}]},renderHTML({HTMLAttributes:e}){return["div",i.mergeAttributes(this.options&&this.options.HTMLAttributes||{},e)]},addAttributes(){return{type:{default:"",parseHTML:g("type")},title:{default:"",parseHTML:g("title")},body:{default:"",parseHTML:g("body")}}},addCommands(){return{setCallout:e=>({chain:l})=>l().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return i.ReactNodeViewRenderer(R)}});exports.Callout=N;exports.RichTextCallout=P;